1. Technical Field
The present invention is directed to an apparatus and method for accessing request header information to use in transcoding response data.
2. Description of Related Art
Transcoding is the process of customizing data content without requiring a change to the original generating application. Transcoding is performed for a variety of reasons including meeting the unique presentation requirements of a particular type of client device, a particular user, or a particular kind of connection, implementing security policies, selectively hiding portions of the data that are not destined for a particular user, selectively encrypting the data, and the like. Transcoding is usually performed on a web server by a mechanism, e.g., a transcoding servlet or other transcoding plugin, that acts as an intermediary between the client device and the content generator.
When a client device sends a content request to a server, the request message includes a request header. The request header typically includes information identifying the device type, user identification, passwords, uniform resource locator (URL) requested, HyperText Transfer Protocol (HTTP) method used (e.g., GET or POST), and the like. This header data is passed by the web server to the content generator process but is not passed on to subsequent steps in the remaining output path on the way to the requesting device, such as to the transcoding mechanism.
This means that in the prior art, without changing the content generator, that transcoding is limited to a fixed manipulation which can not react to the client device characteristics. The client is hence limited to requesting content data from content sources that are formatted for the particular type of client device. This severely limits the content sources that some client devices are able to have access to and the value that transcoding can provide to the web server.
FIG. 5 illustrates the prior art problem when a browser on a small handheld personal computer (PC), with a screen only capable of showing gray scale, makes a request to a Java Servlet based web server. As shown in FIG. 5, the handheld PC sends an HTTP request message from a Web browser 510 running on the handheld PC to a Web server 520. The HTTP request is passed to a servlet engine 530 which invokes a content generator servlet 540, passing the request information. The retrieved content is passed to a transcoding servlet 550 as generic HTML. The transcoding servlet 550 transcodes the generic HTML and forwards it to the handheld PC via the servlet engine 530 and Web server 520, as a HTTP response message.
Thus, when the handheld PC targets a generic content generator, for example a Java Server Page (JSP) authored for ideal presentation on a large desktop PC with a color display, the resulting web page presentation will be returned in a format not conducive for display on the device. This is because the transcoder has no way of knowing the device characteristics which were in the original request header.
Thus, it would be advantageous to have an apparatus and method for providing client device characteristic information to a transcoding servlet in order to customize data content for presentation on the client device.